工商银行金融科技研究院:隐私计算中的TEE技术及应用
TEE可信执行环境技术是在传统系统运行之外,提供隔离的安全系统,可用于处理敏感数据。随着数据要素流通的发展,TEE作为隐私计算技术的分支,可以作为重要的辅助手段与隐私计算其他技术融合,提升数据流通中数据计算效率。
一、数据流通中隐私计算技术的应用背景
2020年先后发布的《中共中央国务院关于构建更加完善的要素市场化配置体制机制的意见》《中华人民共和国国民经济和社会发展第十四五个五年规划和2035年远景目标纲要》,提出加快建设数字经济、数字社会、数字政府、建设数字中国,打造数字经济新优势,明确数据作为核心生产要素的重要性。数据已成为数字时代的基础性战略资源和革命性关键要素,但数据具有易复制传播的特性,与其他生产要素相比,数据在流通过程中需要解决隐私及安全问题。例如,数据提供方由于风险不可控因素产生顾虑,往往不愿或不敢将数据共享;数据使用方责任边界模糊,在利用数据过程中可能导致安全、保密等方面的问题,数据能否共享、如何共享等问题往往缺乏权威判定,供需对接长效机制尚无有效范式,使得不同企业、不同机构间难以利用对方的数据。
为了加快突破上述瓶颈问题,促进产业发展,2022年1月国务院办公厅印发了关于《要素市场化配置综合改革试点总体方案》(以下简称 “方案”),方案中明确要建立健全数据流通交易规则,探索“原始数据不出域、数据可用不可见”的交易范式,在保护个人隐私和数据安全的前提下,分级分类、分步有序推动部分领域数据流通应用。大数据从业者从多种角度进行了诸多探索,从当前发展现状和趋势看,隐私计算技术最有可能成为实现这一突破的关键。
二、隐私计算技术体系简介
隐私计算(Privacy-Preserving Computation),从广义上讲是指面向隐私保护的计算系统与技术,目标是使数据在产生、存储、计算、应用、销毁等信息流转全过程的各个环节中实现“可用不可见”。从技术实现角度出发,当前隐私计算的实现技术主要可分为密码学和可信硬件两大方向:
(1)密码学:密码学指用算法实现对计算过程中的数据保护,是一种通过复杂加密算法、密文的通讯协议对各参与方原始数据的隐私保护,多以软件解决方案形态存在。
(2)可信硬件:可信硬件指可信执行环境(Trusted Execution Environment,TEE),核心思想是通过硬件CPU或其他相关安全芯片架构,构建一个隔离、安全可信的执行区域,隐私计算的上层应用可以将需要保护的敏感数据信息在此安全区域执行,通过提供的安全特性来提高终端系统的安全性,是一种数据安全和隐私保护的硬件实现方案。
图1 隐私计算技术体系
三、隐私计算当前面临的问题与挑战
在数据安全和隐私计算应用方面,国家监管部门发布了若干金融信息安全、金融数据治理、消费者数据保护的标准与规范,如:《信息安全技术金融信息服务安全规范》《金融数据安全数据安全分级指南》《个人金融信息保护技术规范》等;全国金融标准化委员会发布了《多方安全计算金融应用技术规范》。这些标准与规范的发布在数据隐私保护领域起到了重要的引导与规范作用。
隐私计算经过2021“商业落地元年”的发展,目前多个技术实现路线的赛马相当激烈,各家隐私计算厂商在进行大规模的概念教育和技术试点部署来抢占市场。根据中国信息通讯研究院公布的不完全统计数据,截止2021年年末隐私计算产品评测已完成了6批80余次的产品评测,其中绝大多数都是基于软件实现方案实现的隐私计算产品。
隐私计算能否在实际生产中落地,与高效的密文计算、合规安全的数据流通息息相关。打个比方:甲乙两座城市隔海相望,为了实现两座城市的连接,用独木桥与高速公路的方式在成效上有天壤之别的。隐私计算也是类似的道理,安全保护程度越高,密文计算效率会大幅度下降,使得无法满足大规模数据场景的商用要求。如何提高密文计算的效率,是隐私计算始终无法回避的话题。针对当前大多数隐私计算产品都是基于软件实现的,以下问题值得我们再次思考:
(1)安全保护问题:当前的IT系统是一套集硬件、操作系统、网络、中间件和应用软件的复杂系统,设计安全防护完备的IT系统非常困难,必定存在大量未经处理的逻辑缺陷。因此,利用缺陷脆弱点挖掘漏洞进行威胁攻击是系统安全风险的永恒命题,仅通过应用软件形式的“封堵查杀补丁”难以有效应对未知恶意攻击。
(2)计算性能问题:在隐私计算的落地过程中,需要付出巨大的计算资源代价,这是因为软件实现的密文计算需要更大的计算和通信负载,而隐私计算的同步性和可用性对计算参与方的资源要求也较高,从而导致隐私计算会遇到性能瓶颈。
(3)算法安全完备性和互联互通问题:由于隐私计算产品与其他的数据处理产品有所不同,本身就肩负着保护隐私数据安全的重要功能,技术服务和企业客户都应当谨慎对待安全挑战。以算法协议为例,一方面隐私计算产品的算法协议实现差异化较大,难以形成统一的算法安全基础;另一方面,隐私计算产品的不同技术路线依赖不同的安全假设,存在假设被攻破的安全风险。例如:有部分联邦学习框架在纵向联邦中应用了Paillier加法同态方案,并且缺省使用了1024位加密强度。Paillier算法的加密强度可以参照RSA算法,而RSA算法的1024位在今天相当于80位对称加密强度。根据一项2012年的研究,受其保护的相关数据有可能在“肉鸡网络”或者大型计算集群上花费一年甚至更短时间破解,而考虑到这些年来的硬件发展,当下所需的破解时间恐怕还要大幅缩短。提高密钥位数是一种可行应对方法,但这涉及到Paillier算法的计算性能问题。目前密码学实现方案都是在假设前提下实现,无法实现绝对安全。同时,由于加密算法的实现方案各有差异,不同厂商之间的隐私计算平台很难实现互联互通,形成了新的“技术孤岛”。
(4)现有生态对接与迁移:隐私计算设计目标是在计算时为数据机密性提供安全保证,而非想颠覆传统数据处理的范式,因此隐私计算与传统数据治理生态的融合值得行业同步关注。当前大多企业都已构建比较完备的人工智能平台,沉淀了大量复杂算法和模型资产,如需要对该部分资产进行隐私保护能力强化,需要对服务端应用计算逻辑进行大量代码重构,且并不是所有计算逻辑都能有对应的加密增强方案。例如,部分遗留系统由于商业闭源、代码编译环境缺失等原因导致无法修改代码,无法直接基于密码学协议改造成隐私计算模式。
综上,基于密码学协议软件解决方案实现的隐私计算,如联邦学习技术、多方安全计算等,在一定程度上,计算性能和安全保证是永远相悖的话题——加密算法的复杂性带来了安全层面的保证,但是由于加密的原因,使得加密后的密文数据相对明文呈千倍、万倍扩大,软件解决方案显得心有余而力不足。因此,面临亿级别数据跨域计算时,若需要提出一个在保证安全的同时具备高效的计算性能的隐私计算解决方案,则要打破仅依靠软件的惯性思维——将基于密码学算法或协议的隐私计算技术与基于硬件的TEE技术相融合或许是解决该问题的突破。
四、TEE技术的应用
4.1 TEE技术简介
TEE是计算平台上由软硬件方法构建的一个安全区域,可保证在安全区域内部加载的代码和数据在机密性和完整性方面得到保护,确保一个任务按照预期执行,保证初始状态和运行时状态的机密性、完整性。其概念源于Open Mobile Platform(OMTP)于2006年提出的一种保护移动设备上敏感信息安全的双系统解决方案。在传统系统运行(Rich Execution Environment,REE)之外,提供一个隔离的安全系统用于处理敏感数据。2010年7月,Global Platform(致力于安全芯片的跨行业国际标准组织,简称GP)起草指定了一整套可信执行环境系统的体系标准,成为当前许多商业或开源产品定义其各种功能接口的规范参考。
4.2 TEE技术原理及本质属性
TEE的核心思想是构建一个独立于操作系统而存在的可信的、隔离的机密空间,数据计算仅在该安全环境内进行,通过依赖可信硬件来保障其安全。其最本质属性是隔离,通过芯片等硬件技术并与上层协同对数据进行保护,且同时保留和系统运行环境之间的算力共享。
从底层硬件来说,不同于多方安全计算和联邦学习,TEE将多方数据集中到可信硬件构建的可信执行环境中一起进行安全计算。TEE中可信硬件一般是指可信控制单元已被预置集成的商用CPU计算芯片。从基础算法来说,为了保证传输至可信环境中的数据的安全性,TEE通常结合相关密码学算法来实现加密和验证方案,从应用角度来说,作为通用的计算平台,可以在TEE中对多方数据完成联合统计、联合查询、联合建模及预测等各种安全计算。
图2 基于可信执行环境的隐私计算平台架构示例图
4.3 TEE技术优势特点
安全隔离:TEE通过隔离的执行环境,提供一个执行空间,该空间有更强的安全性,比安全芯片功能更丰富,提供代码和数据的机密性和完整性保护。
通用性:与纯软件的密码学隐私方案相比,TEE不会对隐私区域内的算法逻辑语言有可计算性当面的限制,支持更多的算子及复杂算法,上层业务表达性更强。
可验证性:利用TEE提供的计算度量功能,可实现运行在其内部的身份、数据、算法全流程的计算一致性证明。
强制销毁:TEE是基于内存的可信执行环境,数据在TEE内完成计算后,原始数据会强制销毁,不会泄露到TEE外部。
高性能:相比多方安全计算、同态加密等密码学技术,可信硬件具有明显的性能优势,研究表明,在同等资源的条件下,基于可信硬件的安全计算技术的性能相比明文计算损失在10%以内,执行时间缩短为基于软件隐私计算时间的1/25甚至更少,大幅提升执行效率。
易于互联互通:TEE互联互通方案基于多种不同的TEE硬件,该方案可类比为由TEE模块构成的微服务,在保障数据互联和隐私计算中各个业务模块的功能和运作方式保持一致的情况下,通过不同TEE硬件支持的开发化语言和系统环境来进行实现。TEE提供了一种叫远程认证(Remote Attestation,RA)技术,是一种远程审计设备可信状态的手段,目前主流的计算芯片厂商如海光、兆芯、飞腾、鲲鹏、Intel、AMD、ARM等发布的TEE技术,尽管各类TEE的验证方法会有差异,但远程认证的标准流程是统一的。远程认证在技术上采取的是挑战响应的模式:即挑战者先发起认证请求;待认证平台TEE根据自身TEE技术,生成独特的TEE认证报告并返回认证报告给挑战者;挑战者根据待认证平台的TEE技术类型,校验认证报告。生成的报告内容包含应用的度量值以及相关信任根的签名,验证报告时对度量值以及信任签名做校验即可。对于异构TEE,只需根据不同TEE技术的要求,把生成报告和验证报告的逻辑一一对应即可。
从上述TEE特点看,其高性能和互联互通的优势可以支持将联邦学习、多方安全计算融合后的更高性能计算,同时解决不同隐私计算平台的之间互联互通问题,共同参与数据流通,极大地解决了“技术孤岛”带来的“数据群岛”问题,为数据要素大规模流通做好技术储备。
4.4 TEE在隐私计算中的应用
在金融领域,数据流通与数据共享在实际业务开展过程中,发挥着极为重要的作用,其带来的商业核心价值在金融机构的业务中占据不可替代的地位,在金融领域的个人(C端)和企业(B端)业务中均有很多应用场景(如图3)。如贷前反欺诈识别、贷前申请信用评估、贷中行为风险预警、贷后还款能力评估、隐匿要素核验、存量客户激活、广告精准营销等。在以上应用场景中,采用隐私计算开展业务的重要前提是如何保证金融机构与外部数据机构各方数据信息的绝对安全。
图3 隐私计算在金融领域部分应用场景
4.4.1 跨机构联合建模
TEE技术如何助力隐私计算过程,我们就大规模数据的跨机构联合建模方面分析如下:
在数字化社会的发展过程中,基于大数据技术和数据智能衍生出的各类产品和服务已经广泛地影响到商业和生活,包括但不限于基于大数据制定商业策略、预测市场趋势、评估用户购买意愿、控制金融和社会风险等。随着这些场景中各类算法的迭代发展,对于数据维度和数据量的要求也在日益增加,单个机构仅仅使用自身业务产生的数据已经不足以支撑这些场景的需求,因此联合多方数据进行联合分析建模已经成为一个重要趋势。
由于大数据分析难以避免会涉及到企业的用户数据和经营数据,在多方数据联合和协作的过程中,各方都希望输入的原始数据中的这些隐私信息能够得到充分保护,而最终输出的结果仅包括通过算法计算得到的不包含具体数据的分析结果或模型,即实现数据的“可用而不可见”。
在这类型的场景中,可以通过分布式部署在多个机构间的TEE节点网络,实现数据的联合计算。各方通过部署在本地的TEE节点从数据库中获取数据,并通过一个基于TEE可信根生成的加密密钥对数据进行加密,该密钥通过多个TEE节点协商产生,仅在各节点的TEE安全区域内部可见。加密后的数据在TEE节点网络间通过可信信道汇聚到基于TEE的中心化计算服务,然后在TEE中进行数据的解密、求交和运算。在运算完成后,TEE节点仅对外部输出计算结果,而原始数据和计算过程数据均在TEE内部就地销毁。
通过TEE技术实现的多方数据联合建模,既能够满足多方数据协作的业务需求,也能够充分保护各方之间原始数据“可用不可见”。相比纯密态计算的方案,基于TEE的方案具备更强大的性能和算法通用性,在具备TEE硬件条件时,密码学策略就可以选择更好更优的方法,以更好地平衡性能和安全性,从而能够在涉及到大规模数据或对性能有一定要求的场景中达到更好地效果。
4.4.2 数据生态迁移的解决方案
目前隐私计算领域提出的技术创新已经渗透到了硬件层、系统层和应用层各个软硬件栈上(如图4),并且各层的隐私计算技术并不能很好地融合于已有的计算范式中。概括起来主要有以下三方面的因素:
图4 隐私计算技术栈与数据处理传统技术栈的对应关系
存量应用程序的隐私改造:在实际的数据计算应用中,由于种种原因数据计算方并不能掌握遗留应用程序的全部源代码,比如购买的AI模型或者数据分析软件,当希望输入多方数据进行计算时,又需要保证应用能够保护各方的数据隐私。TEE目前已经逐渐具备运行闭源应用的能力,一种方式可以基于类似库操作系统来屏蔽TEEOS带来的异构系统接口,使得程序运行时可以无缝运行在TEEOS中,目前LibOS已经具备部分类型的可执行文件直接运行的能力。另一种方式是直接利用新一代TEE隔离运行时的能力,包括AMD SEV、Intel TDX、Arm CCA都逐步开始支持通用虚拟机作为机密运行环境的功能,意味着编程模型和TEE隔离运行时将逐渐解耦。基于这类新型的TEE,可以直接运行标准操作系统,也就可以直接移植运行各类REE侧的可执行应用。相比于基于密码学协议的隐私计算技术,TEE自底向上的逻辑能够减轻对遗留应用程序的侵入性,遗留应用程序的支持是差异化的优势之一。
融合大数据系统:上文已经分析过,隐私计算平台如果无法与企业内部的大数据系统结合,必然也无法在企业的核心数据上发挥价值。基于TEE的技术方案,业界已有较多和大数据系统进行融合的研究。与只是对接数据仓库、数据湖服务等表层的互联互通相比,基于TEE的大数据方案将已有的大数据系统作为主体进行二次开发,深度融合TEE的远程认证、可信信道、分布式密态域。既最大程度保留原生大数据系统的交互、管理方式,同时也把可信性、抗拜占庭共识、数据机密性嵌入到大数据系统中,将域内系统升级为跨域系统。
兼容云计算系统:由于TEE是紧密关联软硬件的技术,与云计算抽象规整的传统计算资源有所区别。目前主流的服务端TEE技术都已经初步云化能力。其中基于进程级隔离的方案,如SGX已经具备虚拟化能力,一些开源项目正在使其具备云原生容器化能力。基于虚拟机隔离的方案,因为与云计算使用统一的虚拟化方案,可以直接与云计算资源无缝对接。以上技术的成熟度,也可以通过云计算厂商上线的机密计算服务作为佐证。目前全球市场占比前五的公有云服务都已经推出了基于TEE的机密计算服务,AWS Nitro、Azure Confidential Computing、阿里云ACK-TEE、Google Cloud Confidential Computing,并且都已经与云虚拟机或者云原生容器进行了深度整合。
五、发展与展望
从隐私计算的本身的发展历程来看,国外TEE应用隐私计算起步较早,ARM、Intel和AMD公司分别于2006、2015和2016年各自提出了可信执行环境技术TrustZone、Intel SGX和AMD SEV及其相关实现方案,也是目前社区和生态较为成熟的几类方案。国内TEE发展初期对英特尔、高通、ARM等国外芯片核心供应商的强依赖,影响方案的可信度,使得其在国内的产品选型相对较少。相比于以密码学为主的软件,前期TEE在隐私计算领域的工业化落地方案发展缓慢,主要集中于互联网大厂和部分初创企业。
随着国内政府、金融等关系到国计民生的重要领域,对计算机软硬件领域的自主可控要求逐步提高,如何通过国产信创方式发展软硬件结合的隐私计算技术,并落地到实际数据流通业务场景中,逐步已成为业界关注的热点方向,形成了新的趋势。
一是近年来国产化芯片厂商在TEE方向上逐步发力,不断研发并推出了自主可控的TEE解决方案。例如海光CPU芯片采用国产X86架构的CPU芯片,海光TEE通过内存加密技术对应用资源进行隔离,保护应用资源受到非法的篡改,同时结合海光硬件集成的证书链,对参与方计算平台的真实性与安全性进行校验,可排除虚假参与方。
二是TEE工业级落地方案发展加速,技术生态逐步走向成熟。异构TEE互认证技术不断成熟和标准化,将进一步实现多类型TEE之间的互认证,使得数据合作各方使用不同TEE设备也可协同完成计算。TEE的可度量性、软件通用性以及围绕加密内存的硬件加速技术将是国内计算芯片厂商的研发重点。TEE应用的落地需要具有适配底层硬件的系统内核开发能力和遗留应用的再开发能力,具有一定技术门槛。面对TEE在隐私计算方向应用上的巨大市场潜力,目前国内以阿里、华为等传统大厂,以及冲量在线、锘崴等科创企业为代表,纷纷投入到TEE技术生态研发中,都希望将芯片TEE最大化地在上层软件应用中赋能。同时,目前国内厂商在密态计算、异构TEE互联互通、TEE异构加速计算、TEE联邦学习等关键技术点上已有较领先的创新突破,并且在TEE的落地形式上也做了广泛的探索,除了常见的隐私计算平台之外,包括TEE隐私计算一体机、基于TEE的跨域大数据平台、基于TEE的AI SaaS安全防护等都已经通过技术验证,进入生产级试点阶段。
三是TEE作为硬件安全方法中实现计算时安全的技术发展,逐步影响异构计算芯片发展。2021年11月底,MCU芯片供应商兆易创新(GigaDevice)发布基于Arm® Cortex®-M33内核的GD32W515系列Wi-Fi微控制器,内置TrustZone架构打造安全数据存储的硬件可信赖执行环境,支持独立的存储访问空间,提供了系统开发所必需的安全性和灵活性,这代表着国产化芯片在微处理器领域也开始构建自主可控的可信执行环境的生态。同时,从2022年开始,全球范围内的GPU芯片厂商已经开始关注到TEE的重要性。国产化GPU厂家也在TEE方向研发创新,海光通过安全直通技术将TEE安全能力扩展到DCU(海光GPGPU),保证主机端与DCU设备端数据通信直接发生在TEE内,不通过主机中转,是全球首个实现CPU与GPU一体化的TEE计算环境,并且在安全自主可控方面具备端到端,软硬件全国产化能力。
隐私计算是平衡数据使用与隐私安全保护的重要路径,工信部、人民银行等各部委先后出台相应的政策支持技术发展。从技术角度来说,隐私计算仍在快速发展,目前,基于密码学算法或协议实现的软件解决方案应用的产品百花齐放,一些金融银行、运营商、医疗行业和政务行业等公司或机构都有尝试落地应用,在逐步向大规模计算应用中。在算法不断的优化基础上,期待一些专用芯片或者控件的使用(TEE技术)可以大放异彩,进一步提升隐私计算的性能,软硬件协同优化性能的提升、技术的可行性是隐私计算技术的又一份惊喜和挑战,为数据要素市场长期建设提供新动能。
引用
[1]https://towardsdatascience.com/the-w3h-of-alexnet-vggnet-resnet-and-inception-7baaaecccc96
[2] W. Zheng, A. Dave, J. G. Beekman, R. A. Popa, J. E. Gonzalez, and I. Stoica. Opaque: An oblivious and encrypted distributed analytics platform. In USENIX Symposium on Networked Systems Design and Implementation, 2017.
[3] F. Schuster, M. Costa, C. Fournet, C. Gkantsidis, M. Peinado, G. MainarRuiz, and M. Russinovich. Vc3: Trustworthy data analytics in the cloud using sgx. In 36th IEEE Symposium on Security and Privacy, 2015.
[4] Le Quoc, Do, et al. "Sgx-pyspark: Secure distributed data analytics." The World Wide Web Conference. 2019.
[5] Brito, Cláudia, et al. "SOTERIA: Privacy-Preserving Machine Learning for Apache Spark." Cryptology ePrint Archive (2021).
[6] Mofrad, Saeid, et al. "A comparison study of Intel SGX and AMD memory encryption technology." Proceedings of the 7th International Workshop on Hardware and Architectural Support for Security and Privacy. 2018.